package 数据结构考纲.树.树状数组;

public class Main {

    static int N = 100010;
    static int[] a = new int[N];    // 原始值
    static int[] c = new int[N];    //
    static int lowbit (int x) {    //算出最后一位1的位置，不懂自己查吧
        return x & -x;
    }

    // 单点修改
    static void add(int x,int d){
        for(int i=x;i<= N;i+=lowbit(i)) // 修改树状数组上面的值
            c[i] +=d;
    }

    // 求前缀和
    static long sum(int x){
        long ans = 0;
        for(int i=x; i>=0;i -=lowbit(i))
            ans+=c[i];
        return ans;
    }



    public static void main(String[] args) {
        System.out.println(lowbit(3));
        System.out.println(lowbit(3)+3);
    }
}
